package com.cqut.service;

import java.util.List;
import java.util.Map;

import com.cqut.dto.LimitShowDTO;
import com.cqut.dto.SignUpManagerDTO;
import com.cqut.dto.TeamMemberDTO;
import com.cqut.model.SignUpManager;

public interface ISignUpManagerService {
	boolean save(SignUpManager signUpManager);

    boolean update(SignUpManager signUpManager);

    boolean delete(String signUpId);

    boolean batchDelete(String[] primaryKeys);

    SignUpManager findModel(String signUpId);

    SignUpManager findModel(String signUpId, String[] parameters);

    Map<String, Object> findMap(String signUpId);

    Map<String, Object> findMap(String signUpId, String[][] parameters);

    List<SignUpManager> loadModels();

    List<SignUpManager> loadModels(String condition, Object[] values, String order, String sort, int curPage, int limit);

    List<SignUpManager> loadModels(String[] parameters, String condition, Object[] values, String order, String sort, int curPage, int limit);

    List<Map<String, Object>> loadMaps();

    List<Map<String, Object>> loadMaps(String condition, Object[] values, String order, String sort, int curPage, int limit);
    
    List<Map<String, Object>> loadMaps(String[][] parameters, String condition, Object[] values, String order, String sort, int curPage, int limit);
   
    long count();

    long count(String condition, Object[] values);

    long count(String[] parameters, boolean isDistinct);

    long count(String[] parameters, String condition, Object[] values, boolean isDistinct);  
    
    List<Map<String, Object>> findSignUpListWithLimit(String competeName, String stateName, String state, LimitShowDTO limitShowDTO);
    
	long findCountOfSignUpList(String competeName, String stateName, String state);

	boolean passSignUpMenbers(String[] passIds);
	
	boolean backSignUpMenbers(String[] backIds);

	Map<String, Object> signUpIdDetail(String signUpId);

	List<Map<String, Object>> getStateName();

	List<Map<String, Object>> getState();

	List<Map<String, Object>> signUpIdTeacher(String signUpId);

	List<Map<String, Object>> signUpIdMain(String signUpId);

	List<Map<String, Object>> signUpIdMenber(String signUpId);

	String menberAdd(TeamMemberDTO teamMemberDTO);

	String applyAdd(SignUpManagerDTO signUpManagerDTO);

	List<Map<String, Object>> getMemberList(String signUpId,
			LimitShowDTO limitShowDTO);

	long getMemberListCount(String signUpId);

	String grouperAdd(TeamMemberDTO teamMemberDTO);
	
}
